Dataset Previews
First, initialize by adding tools and declare floating type
using GriddingMachine
using Plots
using Plots.PlotMeasures
ENV["GKSwstype"]="100";
FT = Float32;
predownload_artifact.(["GPP_MPI_v006_1X_8D", "GPP_VPM_v20_1X_8D",
"NPP_MODIS_1X_1Y", "canopy_height_20X_1Y",
"clumping_index_12X_1Y", "clumping_index_2X_1Y_PFT",
"land_mask_ERA5_4X_1Y", "leaf_area_index_4X_1M",
"leaf_chlorophyll_2X_7D", "leaf_traits_2X_1Y",
"river_maps_4X_1Y", "surface_data_2X_1Y",
"tree_density_12X_1Y"]);#=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # -=#=# # # -=O#- # # # -=O=# # # # -=O=-# # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # -=O=- # # # # 0.0% 0.1% 0.3% 0.8% ## 3.0% ####### 10.6% ############## 20.1% ##################### 29.8% ############################ 39.2% ################################## 48.6% ######################################### 58.0% ################################################ 67.5% ####################################################### 77.1% ############################################################## 86.6% ##################################################################### 96.1% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # 0.0% 0.1% 0.3% 0.9% ## 3.2% ####### 10.5% ############ 17.3% ################## 26.1% ######################### 35.3% ################################ 45.6% ######################################## 56.0% ############################################### 66.2% ####################################################### 76.6% ############################################################## 86.8% ##################################################################### 96.0% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # ########### 15.5% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # 0.4% # 1.8% ### 4.8% ############ 17.1% ############################################## 65.1% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # 0.6% ### 5.4% ######### 13.8% ################## 25.2% ##################################################### 74.9% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # # 2.0% ###### 8.4% ###################### 31.0% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # -=#=# # # # 1.5% ########### 16.6% ######################## 34.7% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # 0.2% 1.2% ## 3.4% ######### 13.3% ##################################### 52.2% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # 0.2% 1.2% ## 3.8% ########### 16.0% ############################################ 61.5% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # 1.0% #### 6.4% ########## 14.5% ########################################### 60.2% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # 0.3% 1.1% ### 4.6% ############ 17.4% ################################################ 67.6% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # 0.0% 0.1% 0.2% 0.5% 0.7% 0.9% 1.2% # 1.5% # 1.9% # 2.2% # 2.6% ## 3.0% ## 3.4% ## 3.8% ### 4.3% ### 4.8% ### 5.3% #### 5.9% #### 6.5% ##### 7.1% ##### 7.8% ###### 8.5% ###### 9.3% ####### 10.1% ####### 11.0% ######## 11.9% ######### 13.0% ########## 14.0% ########## 15.2% ########### 16.5% ############ 17.8% ############# 19.2% ############## 20.8% ############### 22.1% ################ 23.3% ################# 24.5% ################## 25.6% ################### 26.8% #################### 27.9% #################### 28.4% ##################### 29.4% ##################### 30.0% ###################### 30.6% ###################### 31.2% ###################### 31.9% ####################### 32.5% ####################### 33.2% ######################## 33.8% ######################## 34.5% ######################### 35.2% ######################### 35.9% ########################## 36.6% ########################## 37.3% ########################### 38.0% ########################### 38.7% ############################ 39.3% ############################ 40.0% ############################# 40.4% ############################# 40.9% ############################# 41.4% ############################## 42.0% ############################## 42.5% ############################## 43.0% ############################### 43.5% ############################### 44.1% ################################ 44.7% ################################ 45.2% ################################ 45.8% ################################# 46.3% ################################# 46.9% ################################## 47.5% ################################## 47.9% ################################## 48.3% ################################### 48.8% ################################### 49.2% ################################### 49.6% #################################### 50.0% #################################### 50.5% #################################### 50.9% #################################### 51.4% ##################################### 51.8% ##################################### 52.3% ##################################### 52.8% ###################################### 53.2% ###################################### 53.7% ###################################### 54.2% ####################################### 54.6% ####################################### 55.1% ######################################## 55.6% ######################################## 56.1% ######################################## 56.5% ######################################### 57.0% ######################################### 57.5% ######################################### 58.0% ########################################## 58.5% ########################################## 59.0% ########################################## 59.5% ########################################### 59.9% ########################################### 60.5% ########################################### 60.9% ############################################ 61.4% ############################################ 61.9% ############################################ 62.4% ############################################# 62.9% ############################################# 63.4% ############################################## 64.0% ############################################## 64.5% ############################################## 65.0% ############################################### 65.5% ############################################### 66.0% ############################################### 66.6% ################################################ 67.2% ################################################ 67.7% ################################################# 68.2% ################################################# 68.7% ################################################# 69.3% ################################################## 69.9% ################################################## 70.4% ################################################### 70.9% ################################################### 71.5% ################################################### 72.1% #################################################### 72.6% #################################################### 73.2% ##################################################### 73.8% ##################################################### 74.3% ##################################################### 75.0% ###################################################### 75.6% ###################################################### 76.1% ####################################################### 76.7% ####################################################### 77.3% ######################################################## 77.9% ######################################################## 78.5% ######################################################## 79.1% ######################################################### 79.8% ######################################################### 80.3% ########################################################## 80.9% ########################################################## 81.6% ########################################################### 82.2% ########################################################### 82.8% ############################################################ 83.4% ############################################################ 84.1% ############################################################ 84.7% ############################################################# 85.3% ############################################################# 86.0% ############################################################## 86.6% ############################################################## 87.3% ############################################################### 87.9% ############################################################### 88.6% ################################################################ 89.2% ################################################################ 89.9% ################################################################# 90.5% ################################################################# 91.2% ################################################################## 91.9% ################################################################## 92.6% ################################################################### 93.2% ################################################################### 93.9% #################################################################### 94.6% #################################################################### 95.3% ##################################################################### 95.9% ##################################################################### 96.7% ###################################################################### 97.3% ###################################################################### 98.1% ####################################################################### 98.8% ####################################################################### 99.5% ######################################################################## 100.0% #=#=# ##O#- # ##O=# # #=#=-# # -#O#- # # 0.3% # 2.0% ## 3.7% ######## 12.5% ################################## 48.3% ######################################################################## 100.0%
Then, define a function to plot the dataset
function preview_data(ds::GriddedDataset{FT}, ind::Int)
# preview data
return heatmap(view(ds.data,:,:,ind)',
origin="lower",
aspect_ratio=1,
xticks=[],
yticks=[],
c=:viridis,
size=(700,300),
framestyle=:none)
end
function preview_data(ds::GriddedDataset{FT}, ind::Int, clim::Tuple)
# preview data
return heatmap(view(ds.data,:,:,ind)',
origin="lower",
aspect_ratio=1,
xticks=[],
yticks=[],
c=:viridis,
clim=clim,
size=(700,300),
framestyle=:none)
endpreview_data (generic function with 2 methods)
Leaf level datasets
Leaf chlorophyll content
LCH_LUT = load_LUT(LeafChlorophyll{FT}());
mask_LUT!(LCH_LUT, FT[0,Inf]);
LCH_LUT = regrid_LUT(LCH_LUT, Int(size(LCH_LUT.data,2)/180));
anim = @animate for i ∈ 1:size(LCH_LUT.data,3)
preview_data(LCH_LUT, i, (0,80));
end
gif(anim, fps=5)Leaf nitrogen content
LNC_LUT = load_LUT(LeafNitrogen{FT}());
mask_LUT!(LNC_LUT, FT[0,Inf]);
LNC_LUT = regrid_LUT(LNC_LUT, Int(size(LNC_LUT.data,2)/180));
preview_data(LNC_LUT, 1)
Leaf phosphorus content
LPC_LUT = load_LUT(LeafPhosphorus{FT}());
mask_LUT!(LPC_LUT, FT[0,Inf]);
LPC_LUT = regrid_LUT(LPC_LUT, Int(size(LPC_LUT.data,2)/180));
preview_data(LPC_LUT, 1)
Specific leaf area
SLA_LUT = load_LUT(LeafSLA{FT}());
mask_LUT!(SLA_LUT, FT[0,Inf]);
SLA_LUT = regrid_LUT(SLA_LUT, Int(size(SLA_LUT.data,2)/180));
preview_data(SLA_LUT, 1)
Vcmax
VCM_LUT = load_LUT(VcmaxOptimalCiCa{FT}());
mask_LUT!(VCM_LUT, FT[0,Inf]);
VCM_LUT = regrid_LUT(VCM_LUT, Int(size(VCM_LUT.data,2)/180));
preview_data(VCM_LUT, 1)
Stand level datasets
Canopy height
CHT_LUT = load_LUT(CanopyHeightGLAS{FT}());
mask_LUT!(CHT_LUT, FT[0,Inf]);
CHT_LUT = regrid_LUT(CHT_LUT, Int(size(CHT_LUT.data,2)/180));
preview_data(CHT_LUT, 1)
Clumping index
# global clumping index
CLI_LUT = load_LUT(ClumpingIndexMODIS{FT}(), "12X", "1Y");
mask_LUT!(CLI_LUT, FT[0,1]);
CLI_LUT = regrid_LUT(CLI_LUT, Int(size(CLI_LUT.data,2)/180));
preview_data(CLI_LUT, 1, (0.4,1))
# global clumping index per PFT
CLI_LUT = load_LUT(ClumpingIndexPFT{FT}());
mask_LUT!(CLI_LUT, FT[0,1]);
CLI_LUT = regrid_LUT(CLI_LUT, Int(size(CLI_LUT.data,2)/180));
anim = @animate for i ∈ 1:size(CLI_LUT.data,3)
preview_data(CLI_LUT, i, (0.4,1));
end
gif(anim, fps=1)Gross primary productivity
# GPP MPI
anim = @animate for year ∈ 2001:2019, i ∈ 1:46
GPP_LUT = load_LUT(GPPMPIv006{FT}(), year, "1X", "8D");
mask_LUT!(GPP_LUT, FT[-100,Inf]);
preview_data(GPP_LUT, i, (0,10));
end
gif(anim, fps=20)